<?php

namespace JsonLowCode\Traits\Props;

trait HasLabelDetail
{
    /**
     * 标签的宽度，在 label-placement 是 'left' 的时候可能会有用，'auto' 意味着 label width 会被自动调整
     * @param string|int $width number | string | 'auto' 是否js表达式
     * @return $this
     */
    public function labelWidth(string|int $width = 'auto', bool $isJSExpression = false): static
    {
        return $this->prop("label-width",$width);
    }

    /**
     * 设置标签对齐方式
     * @param string $align 'left' | 'right' 是否js表达式
     * @return $this
     */
    public function labelAlign(string $align = 'left' | 'right', bool $isJSExpression = false): static
    {
        return $this->prop("label-align",$align);
    }

    /**
     * 如果没有被设定，使用外层表单的 label-placement
     * @param string $placement 'left' | 'top' 是否js表达式
     * @return $this
     */
    public function labelPlacement(string $placement = 'left' | 'top', bool $isJSExpression = false): static
    {
        return $this->prop("label-placement",$placement);
    }

}
